package com.yict.csms.resourceplan.entity;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

import com.yict.csms.system.entity.DataDict;
import com.yict.csms.system.entity.Profession;
import com.yict.csms.system.entity.User;

/**
 * 雪箱表Entity
 * @author ryan.wang
 *
 */
@Entity
@Table(name = "CSMS_BOX")
public class Box {
	
	@Id
	@Column(name = "BOXID")
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "csms_box_seq")
	@SequenceGenerator(name = "csms_box_seq", sequenceName = "SEQ_CSMS_BOX", allocationSize = 1, initialValue = 1)
	private Long boxId;
	
	@Column(name = "BOXNUM")
	private String boxNum;
	
	@Column(name = "IMPORTID")
	private String importId;
	
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "SHIPCOMPANYCODE")
	private DataDict shipCompanyCode;
	
	@Column(name = "YARDPOSITION")
	private String yardPosition;
	
	@Column(name = "GETORDERNUM")
	private String getOrderNum;
	
	@Column(name = "RESGETDATE")
	private Date resGetDate;
	
	@Column(name = "BOXSHAPE")
	private String boxShape;
	
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "PROFEID")
	private Profession profeId;
	
	@Column(name = "CWI")
	private String cwi;
	
	@Column(name = "PTI")
	private Integer pti;
	
	@Column(name = "PCC")
	private Integer pcc;
	
	@Column(name = "PCS")
	private Float pcs;
	
	@Column(name = "PCT")
	private Float pct;
	
	@Column(name = "REMARKS")
	private String remarks;
	
	@Column(name = "CREATEDATE")
	private Date createDate;

	@Column(name = "UPDATEDATE")
	private Date updateDate;

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "CREATEPERSON")
	private User createPerson;

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "UPDATEPERSON")
	private User updatePerson;

	public Long getBoxId() {
		return boxId;
	}

	public void setBoxId(Long boxId) {
		this.boxId = boxId;
	}

	public String getBoxNum() {
		return boxNum;
	}

	public void setBoxNum(String boxNum) {
		this.boxNum = boxNum;
	}

	public String getImportId() {
		return importId;
	}

	public void setImportId(String importId) {
		this.importId = importId;
	}

	public String getYardPosition() {
		return yardPosition;
	}

	public void setYardPosition(String yardPosition) {
		this.yardPosition = yardPosition;
	}

	public String getGetOrderNum() {
		return getOrderNum;
	}

	public void setGetOrderNum(String getOrderNum) {
		this.getOrderNum = getOrderNum;
	}

	public Date getResGetDate() {
		return resGetDate;
	}

	public void setResGetDate(Date resGetDate) {
		this.resGetDate = resGetDate;
	}

	public String getBoxShape() {
		return boxShape;
	}

	public void setBoxShape(String boxShape) {
		this.boxShape = boxShape;
	}

	public String getCwi() {
		return cwi;
	}

	public void setCwi(String cwi) {
		this.cwi = cwi;
	}

	public Integer getPti() {
		return pti;
	}

	public void setPti(Integer pti) {
		this.pti = pti;
	}

	public Integer getPcc() {
		return pcc;
	}

	public void setPcc(Integer pcc) {
		this.pcc = pcc;
	}

	public Float getPcs() {
		return pcs;
	}

	public void setPcs(Float pcs) {
		this.pcs = pcs;
	}

	public Float getPct() {
		return pct;
	}

	public void setPct(Float pct) {
		this.pct = pct;
	}

	public String getRemarks() {
		return remarks;
	}

	public void setRemarks(String remarks) {
		this.remarks = remarks;
	}

	public Date getCreateDate() {
		return createDate;
	}

	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}

	public Date getUpdateDate() {
		return updateDate;
	}

	public void setUpdateDate(Date updateDate) {
		this.updateDate = updateDate;
	}

	public User getCreatePerson() {
		return createPerson;
	}

	public void setCreatePerson(User createPerson) {
		this.createPerson = createPerson;
	}

	public User getUpdatePerson() {
		return updatePerson;
	}

	public void setUpdatePerson(User updatePerson) {
		this.updatePerson = updatePerson;
	}

	public DataDict getShipCompanyCode() {
		return shipCompanyCode;
	}

	public void setShipCompanyCode(DataDict shipCompanyCode) {
		this.shipCompanyCode = shipCompanyCode;
	}

	public Profession getProfeId() {
		return profeId;
	}

	public void setProfeId(Profession profeId) {
		this.profeId = profeId;
	}

}
